Paul's JavaScript Examples    
 
Convert ° Fahrenheit to ° Celsius and vice versa

Convertor script to convert ° Fahrenheit to ° Celsius and ° Celsius to ° Fahrenheit. Just fill in one value and click on the Convert button. use the Clear button to clear the values. Note, negative values are not supported.

Example

Temperatures
° Fahrenheit
° Celsius
  

Usage

<INPUT TYPE="button" VALUE="Convert" onClick=computeForm(this.form)>
<INPUT TYPE="button" VALUE="Clear" onClick=clearForm(this.form)>

Source

<SCRIPT LANGUAGE="javascript">
<!--
function checkNumber(numStr, fieldName)
{
	msg = fieldName + " field has invalid data: " + numStr.value;
	str = numStr.value;
	for (var i=0; i < str.length; i++)
	{
		var ch = str.substring(i,i+1);
		if ( (ch < "0" || ch > "9") && ch != '.' )
		{
			alert(msg);
			return false;
		}
	}
	return true;
}
function computeForm(form)
{
	// if both forms empty - error
	if ( (form.fdegrees.value == null || 
            form.fdegrees.value.length == 0) &&
           (form.cdegrees.value == null ||
            form.cdegrees.value.length == 0) )
	{
		alert("Both fields empty.");
		return;
	}

	// if both forms filled error
	if ( (form.fdegrees.value != null &&
		form.fdegrees.value.length > 0) &&
		(form.cdegrees.value != null &&
		 form.cdegrees.value.length > 0) )
	{
		alert("Error: both fields have data.");
		return;
	}

	// calculate fahrenheit
	if ( (form.fdegrees.value == null ||
		form.fdegrees.value.length == 0) &&
		(form.cdegrees.value != null &&
		 form.cdegrees.value.length > 0) )
      {
		if (checkNumber(form.cdegrees,"Celsius"))
		{
			var degs = 0.0 + form.cdegrees.value;
			degs = (degs * 9.0/5.0) + 32;
			form.fdegrees.value = degs;
		}

	}

	// calculate celsius
	if ( (form.fdegrees.value != null &&
	      form.fdegrees.value.length > 0) &&
		(form.cdegrees.value == null ||
	    	 form.cdegrees.value.length == 0) )
	{
		if (checkNumber(form.fdegrees,"Fahrenheit"))
		{
			var degs = 0.0 + form.fdegrees.value;
			degs = (degs - 32.0) * (5.0/9.0);
			form.cdegrees.value = degs;
		}		
	}
}

// Used for the temperature conversion
function clearForm(form)
{
	form.fdegrees.value="";
	form.cdegrees.value="";
}
// -->
</SCRIPT>